import Vue from 'vue'
import Vuex from 'vuex'
import createPersistedState from 'vuex-persistedstate'

Vue.use(Vuex)

const store = new Vuex.Store({
  namespaced: true,
  state: {
    info: 'dddfdf'
  },
  getters: {
    getInfoWithHaHaHa (state) {
      return state.info
    }
  },
  mutations: {
    setInfo (state, info) {
      state.info = info
    }
  },
  actions: {},
  /* vuex数据持久化配置 */
  plugins: [
    createPersistedState({
      // 存储方式：localStorage、sessionStorage、cookies
      storage: window.sessionStorage,
      // 存储的 key 的key值
      key: 'store',
      render (state) {
        // 要存储的数据：本项目采用es6扩展运算符的方式存储了state中所有的数据
        return { ...state }
      }
    })
  ]
})

export default store
